perm filename MG.FRM[P,JRA]1 blob
sn#139970 filedate 1975-01-11 generic text, type T, neo UTF8
∂10-JAN-75 1635 1,MG
A DEFENCE OF ORDINARY LANGUAGES.
Why bother to try and model the semantics of messy real languages - wouldn't
it be better to concentrate effort on sensible well designed ones?
Several people have told me something like this on hearing that I was trying
to handle LISP (warts and all).
Here's my defence reaction:
(1)Different people dislike different aspects of LISP. John McCarthy thinks that
call-by-value is wrong (since the analysis of recursion in terms of fixed points
is slightly simpler if call-by-name is used). People at the Programming
Research Group in Oxford object to LISP's fluid variables. John Allen doesn't
like RPLACA,RPLACD and would prefer less general (but more structured)
data-structure primitives.
(2)I don't think one can allways tell whether a particular feature poses problems
until one has tried hard to model it. For example early claims that
call-by-value ruled out the valid use of computation-induction have been
refuted by DeRoever et.al. of Amsterdam.
(3)People actually program in nasty languages and so if one wants to get reasoning
techniques realistically tested then it helps to make them applicable to real
problems.
(4)Working only with abstract toy languages opens the door to the danger that
one will miss genuine problems which arise in practice but not in theory.